﻿
Imports System.Data

Imports Moca.Db.Attr
Imports Moca.Db

Namespace Db

#Region " Sql "

	<Dao("SQLContext", GetType(Impl.DaoSql))> _
	Public Interface IDaoSqlTest

		Function GetHelper() As IDbAccessHelper

		Function GetMe() As AbstractDao

		<Transaction()> _
		Sub Ins(ByVal id As Integer)

		<Transaction()> _
		Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

	End Interface

	<Dao("SQLContext", GetType(Impl.DaoSql2))> _
	Public Interface IDaoSqlTest2

		<Transaction(Transactions.TransactionScopeOption.RequiresNew)> _
		Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

	End Interface

#End Region

#Region " SqlCe "

	<Dao("SQLCeContext", GetType(Impl.DaoSqlCe))> _
	Public Interface IDaoSqlCeTest

		Function GetHelper() As IDbAccessHelper

		Function [Select]() As IList(Of tbDemoEntity)

		<Transaction()> _
		Sub Ins(ByVal id As Integer)

		<Transaction()> _
		Sub TimeoutTest(ByVal id As Integer)

	End Interface

	<Dao("SQLCeContext", GetType(Impl.DaoSqlCe2))> _
	Public Interface IDaoSqlCeTest2

		<Transaction(Transactions.TransactionScopeOption.RequiresNew)> _
		Sub TimeoutTest(ByVal id As Integer)

	End Interface

#End Region

#Region " OleDb "

	<Dao("OleDbSqlContext", GetType(Impl.DaoOleDb))> _
	Public Interface IDaoOleDbTest

		Function GetHelper() As IDbAccessHelper

		Function GetMe() As AbstractDao

		<Transaction()> _
		Sub Ins(ByVal id As Integer)

		<Transaction()> _
		Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

	End Interface

	<Dao("OleDbSqlContext", GetType(Impl.DaoOleDb2))> _
	Public Interface IDaoOleDbTest2

		<Transaction(Transactions.TransactionScopeOption.RequiresNew)> _
		Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

	End Interface

	<Dao("OleDbOracleContext", GetType(Impl.DaoOleDbOra))> _
	Public Interface IDaoOleDbOraTest

		Function GetHelper() As IDbAccessHelper

		Function GetMe() As AbstractDao

		<Transaction()> _
		Sub Ins(ByVal id As Integer)

		<Transaction()> _
		Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

	End Interface

	<Dao("OleDbOracleContext", GetType(Impl.DaoOleDbOra2))> _
	Public Interface IDaoOleDbOraTest2

		<Transaction(Transactions.TransactionScopeOption.RequiresNew)> _
		Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

	End Interface

#End Region

#Region " Oracle "

	<Dao("OracleContext", GetType(Impl.DaoOracle))> _
	Public Interface IDaoOracleTest

		Function GetHelper() As IDbAccessHelper

		Function GetMe() As AbstractDao

		<Transaction()> _
		Sub Ins(ByVal id As Integer)

		<Transaction()> _
		Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

	End Interface

	<Dao("OracleContext", GetType(Impl.DaoOracle2))> _
	Public Interface IDaoOracleTest2

		<Transaction(Transactions.TransactionScopeOption.RequiresNew)> _
		Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

	End Interface

#End Region

#Region " Oracle MS "

	<Dao("OracleMSContext", GetType(Impl.DaoOracleMS))> _
	Public Interface IDaoOracleMSTest

		Function GetHelper() As IDbAccessHelper

		Function GetMe() As AbstractDao

		<Transaction()> _
		Sub Ins(ByVal id As Integer)

		<Transaction()> _
		Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

	End Interface

	<Dao("OracleMSContext", GetType(Impl.DaoOracleMS2))> _
	Public Interface IDaoOracleMSTest2

		<Transaction(Transactions.TransactionScopeOption.RequiresNew)> _
		Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

	End Interface

#End Region

#Region " ODBC "

    <Dao("ODBCContext", GetType(Impl.DaoODBC))> _
    Public Interface IDaoODBCTest

        Function GetHelper() As IDbAccessHelper

        Function GetMe() As AbstractDao

        <Transaction()> _
        Sub Ins(ByVal id As Integer)

        <Transaction()> _
        Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

    End Interface

    <Dao("ODBCContext", GetType(Impl.DaoODBC2))> _
    Public Interface IDaoODBCTest2

        <Transaction(Transactions.TransactionScopeOption.RequiresNew)> _
        Sub TimeoutTest(ByVal id As Integer, ByVal time As Integer)

    End Interface

#End Region

End Namespace
